package com.haixee.parkdemo.auth.service;


import com.github.pagehelper.Page;
import com.haixee.parkdemo.auth.client.entity.AuthData;
import com.haixee.parkdemo.auth.entity.dto.UserAllDTO;
import com.haixee.parkdemo.auth.entity.dto.UserDTO;
import com.haixee.parkdemo.auth.model.Role;
import com.haixee.parkdemo.auth.model.User;
import com.haixee.parkdemo.common.entity.PageData;

import java.util.List;
import java.util.Map;

public interface UserService {

    void addUser(String username, String password, List<Integer> roleIdList);

    void updateGroupJob(Integer uid, List<Integer> jobIdList);

    AuthData hasAcl(String token, byte method, String router);

    List<User> getAll(Integer tenantId);

    List<UserDTO> getAllWithJob(Integer tenantId);

    List<User> getAllUserJob();

    User getUser(Integer uid);


    PageData<UserAllDTO> getUserDTOList(Integer tenantId, Integer organizeId, Integer page, Integer size);

    List<UserAllDTO> getUserRoleDTO(Integer uid, Integer tenantId, Integer organizeId);

    void updateUserRole(Integer uid, List<Integer> roleIdList);

}
